home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / Hack / UNIX / UNIXHAK1.ZIP / UNIXHAK1.TXT
Text File  |  1990-05-04  |  11KB  |  289 lines

  1. ===============================================================================
  2.  
  3.                                    RUSH2112
  4.  
  5.                                    Presents
  6.  
  7.                               A HALE Production
  8.  
  9.        H ackers        A gainst           L aw                E nforcement
  10.  
  11.                          Call HALE Hq. (619)660-67xx
  12.  
  13.             Active HALE members are: Ripper, Trashman, Rush2112.
  14.  
  15.             The Underground Newsletter: Vol I.  Issue I, Part I
  16.  
  17. ===============================================================================
  18.  
  19. Note:        Feel free to distribute the file provided none of its contents or
  20.              credits are changed.
  21.  
  22. Topic:       A Guide to Unix Systems, Part I.
  23.  
  24. Date:        September 1, 1989.
  25.  
  26. Foreword:  This file is compiled from my experiences on both BSD and Sys V 
  27.            Unix on VAX 750/780 mainframes, AT&T 3B20 and Pyramid Technology's
  28.            mainframes.
  29.  
  30.  
  31.  
  32.         In today's world, as a hacker, you are nothing unless you learn some
  33. of the more popular operating systems around used on minis, mainframes, super-
  34. computers and the like.  In this file I will attempt (to the best of my 
  35. ability) to introduce you to one of those operating systems - namely - the
  36. world of Unix.  It is hoped that by reading this file you can pick up perhaps
  37. enough of a working knowledge so that if by chance in your hacking exploits
  38. you come across a Unix system (and you will) you'll know what to do.
  39.  
  40.         There is NO WAY to cover everything about Unix in a file so this will
  41. be the first of many that I hope to release in the future.  If I find there
  42. are stuff I have not mentioned I will write more files as needed.  In Part II, 
  43. I plan to give you a tutorial on what to do while you're on-line in regards to
  44. hacking and using essential system utilities.  Have fun.
  45.  
  46.         Usually (unless modifified by the system administrator or one with
  47. such privileges), you can tell if you've connected to a Unix system of some 
  48. type by the login prompt which looks like this:
  49.  
  50.  
  51. login:
  52.  
  53.  
  54. Pretty simple huh?  Anyway, that is the standard login prompt, it may or may
  55. not be preceded by a message telling you what type of Unix or system you have
  56. connected to. 
  57.  
  58.         If you try to login with an illegal login name and/or an illegal
  59. password the system will respond as such and as you to try again:
  60.  
  61.  
  62. login:hacker
  63.  
  64. password:
  65.  
  66. login incorrect
  67.  
  68. login:
  69.  
  70. (Note the password is not echoed in any form)
  71.  
  72.  
  73.  
  74.         In Part I of this Unix tutorial I'd like to start with an overview of 
  75. the Unix system before I get into some of the more interesting stuff (so bear 
  76. with me all you Unix experts).  Then I will go through the login process and
  77. the /etc/passwd file and how it is structured.  This will not be an in-depth
  78. look at all, merely an overview.  Some day I will write an in-depth study to
  79. accompany this file and the files that follow for the more advance
  80. user/hacker.
  81.  
  82.  
  83.  
  84.         There are basically 2 types of Unix systems that you will most likely 
  85. come across.  They are:
  86.  
  87.  
  88. I.  BSD Unix - from UC Berkeley's (B)erkeley (S)oftware (D)istributors
  89.  
  90. II. System V UNIX - from AT&T (how nice - I know all you phreakers are smiling!)
  91.  
  92. (Other spinoff's of the above 2 will not be discussed - such as Ultrix,
  93.  Minix, Xenix, etc...)
  94.  
  95.  
  96.  
  97.         They are alike in many respects but both have their differences, hence
  98. their are advantages and disadvantages to both of the systems, BSD and Sys V.
  99. Perhaps the main difference between the two are the default shell that each
  100. uses as the user interface to the system utilities.
  101.  
  102.         BSD Unix defaults to the csh (C-Shell) while AT&T's Sys V uses the sh
  103. (Bourne shell).  But on both of these systems both shell types are available
  104. to the user.  A third optional shell which is also pretty popular is the ksh 
  105. (Korn shell).  The way to recognize the default shells when you see them is by
  106. their default prompt.  The csh uses the % symbol as the prompt while the sh
  107. uses the $ symbol as the prompt.
  108.  
  109.         Now let's talk about files, shall we?  The MOST important file of all
  110. on ANY UNIX system is the password file.  This file holds information about 
  111. all the accounts on the system, passwords, and other information.  Without 
  112. this file no one can log in and use the system.  You can find this file on any
  113. system in the /etc directory.  It is called simply 'passwd'.  The full 
  114. pathname is /etc/passwd (of course).
  115.  
  116.  
  117.  
  118.         The /etc/passwd file is stuctured as such:
  119. Each user has an entry in the passwd file that holds his account information.
  120. Among the information included on each user entry line is his login name,
  121. his password (encrypted), his user id, his group id, his home directory, his
  122. name, and his startup program if any.   Basically it looks something like
  123. this:
  124.  
  125.  
  126. ------------------------ Sample /etc/passwd file  -------------------------- 
  127.  
  128.                        General format of each entry:
  129.  
  130. login:password:user-ID:group-ID:info:home directory:startup program
  131. -------------------------------------------------------------------
  132. root:Arllz76Dnq:0:0:The & of All Evil:/:/bin/csh
  133.  
  134. jsmith:Yi83amq9:102:100:John Smith:/usr/jsmith:/bin/sh
  135.  
  136. who::99:500:Who's on:/usr/ucb:/bin/who
  137.  
  138. daemon:r6Eeu:1:1:The DEVIL himself:/etc:/bin/csh
  139.  
  140. bin:mb033yt:3:3:The Keeper of the Flame:/etc:/bin/csh
  141.  
  142. info::508:501:Library user group:/usr2/info:/usr2/bin/rsh
  143.  
  144. .....
  145.  
  146. ..... [ and so on ]
  147.  
  148. .....
  149.  
  150. ----------------------------------------------------------------------------
  151.  
  152.         Now we'll examine each entry.  Remember that each field is separated 
  153. by the colon.  So in the first entry in /etc/passwd given above, we can tell 
  154. the following about the  entry.
  155.  
  156.  
  157.  
  158. login name is:                root
  159.  
  160. Password (encrypted):         Arllz76Dnq
  161.  
  162. User ID:                      0
  163.  
  164. Group ID:                     1
  165.  
  166. Info (usually owner):         root
  167.  
  168. Home Directory:               /
  169.  
  170. Startup Program:              /bin/sh
  171.  
  172.  
  173.  
  174. The second entry in /etc/passwd looks like this:
  175.  
  176. login name is:                jsmith
  177.  
  178. Password (encrypted):         Yi83amq9
  179.  
  180. User ID:                      102
  181.  
  182. Group ID:                     100
  183.  
  184. Info (usually owner):         John Smith
  185.  
  186. Home Directory:               /usr/jsmith
  187.  
  188. Startup Program:              /bin/sh
  189.  
  190.  
  191.  
  192.  But now you get the general format...so let's discuss some things about the 
  193.  field.
  194.  
  195.  
  196.  
  197. I.        The login field
  198.  
  199.    This is the login name that you use to login at the prompt of the Unix 
  200. system.  During the login process, after you enter the login and the password
  201. the system will then call routines to search the 1st field of each entry
  202. in /etc/passwd to see if any login names match up with the one you have given
  203. it.  If none exists it will report the "login incorrect" message and start
  204. prompting for a new login name and new password.
  205.  
  206.  
  207.  
  208. II.        The Password field
  209.  
  210.    If the login name is valid, Unix then takes your password entry and
  211. encrypts it then compares it against the encrypted password in the 2nd field 
  212. of the login name entry (see I.  The login field).  If the two passwords match 
  213. up, the login process will continue, otherwise the "login incorrect" message 
  214. will be displayed.  I'll explain later what goes on when comparisons of the 
  215. encrypted passwords take place.  If the Password Field contains null :: then 
  216. no password is needed and the system logs you into the home directory and 
  217. executes the startup program.  If the Password Field contains :,.: then upon 
  218. login the system will run the passwd utility and assign that account a 
  219. password.  (This is nice if you're a system administrator, you create an 
  220. account for your friend then put the ",." in the password field and he'll set 
  221. his own password upon login.
  222.  
  223.  
  224.  
  225. III.        The UID (UserID) field
  226.  
  227.    If everything is correct (login name and password) then the system proceeds
  228. to put your in your home directory.  You are then given a UID from your entry
  229. in the /etc/passwd file.  All UID's fall in the range 0-65535 with 0 as the 
  230. superuser UID (see /etc/passwd example).  The system reserves UID 0-99 for 
  231. special accounts.  UID's are used by the system and its utilities to control 
  232. both access levels and file ownership (as determined by the ls utility - more 
  233. on that later).  
  234.  
  235.  
  236.  
  237. IV.          The GID (GroupID) field
  238.  
  239.    The Group ID is used to associate the user with a certain group, used by
  240. Unix primarily for access levels as determined by file protections.  (i.e.
  241. a member who is not in a group can not get group privileges on files for that
  242. group, even though file protections for the file say all privileges to group
  243. users.)  GID's fall in the range 0-655535 with GID 1 being the default.  All
  244. GID's between 0-99 are reserved.
  245.  
  246.  
  247.  
  248. V.          The Information field
  249.  
  250.    This field usually holds the account owner's name though it can be used
  251. for anything actually.   I have seen it used to describe the account function
  252. (see the sample /etc/passwd file on the entry for login name "who"), and also
  253. to hold people's phone extension, etc..
  254.  
  255.  
  256.  
  257. VI.          The Home Directory Field
  258.  
  259.    This field should have the full pathname to your home directory.  On many
  260. UNIX systems it is usually in the format of /usr/loginname (See the
  261. entry for login name "jsmith").  Not necessarily your PERMANENT home 
  262. directory, one can change it by reassigning an alternate path to the system
  263. variable $HOME (on Sys V). 
  264.  
  265.  
  266.  
  267. VII.          The Program Field 
  268.  
  269.    Usually this field holds the startup program to execute once the login
  270. procedure has been completed.   If left blank then the default startup program
  271. will be the shell assigned to the Unix system.  In the our example /etc/passwd
  272. file, the entry for login name who, will execute the who command in /bin/who
  273. once you log in.  However, after the command finishes executing, it will exit
  274. the system as there is no password on the account, there is no way to stay
  275. logged in.  On the info account however, you will remain login until you type
  276. exit or logout or CTRL-D as the program running there is a shell.  Though not
  277. a full Bourne shell or C-shell, the restricted shell (rsh) does allow to you
  278. play around a little.  
  279.  
  280.  
  281.  
  282.         Well, that about does it for what I want to cover in Part I.  Look for
  283. Part II coming out real soon.  I will be going into details what to do once
  284. online with an account and how to go about getting an account.  This file is
  285. for informational purposes only.
  286. ------------------------------------------------------------------------------
  287. Brought to you by: The Apple Bandit 10-89
  288. Forwarded to you by: The Chief 05-90
  289.